package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.ModuleVolumeInfo;
import com.ruoyi.system.domain.comment.EngComment;
import com.ruoyi.system.domain.comment.VolumeComment;
import org.apache.ibatis.annotations.Param;

/**
 * 案卷表Service接口
 * 
 * @author ruoyi
 * @date 2023-06-11
 */
public interface IModuleVolumeInfoService 
{
    /**
     * 查询案卷表
     * 
     * @param id 案卷表主键
     * @return 案卷表
     */
    public ModuleVolumeInfo selectModuleVolumeInfoById(String id);

    /**
     * 查询案卷表列表
     * 
     * @param moduleVolumeInfo 案卷表
     * @return 案卷表集合
     */
    public List<ModuleVolumeInfo> selectModuleVolumeInfoList(ModuleVolumeInfo moduleVolumeInfo);

    /**
     * 查询工程相关案卷表列表
     *
     * @return 案卷表集合
     */
    public List<ModuleVolumeInfo> getRelaModuleVolumeInfoById(String id);

    /**
     * 查询案卷注释信息列表
     *
     * @return 案卷信息集合
     */
    public List<VolumeComment> selectModuleVolumeComInfoList();

    /**
     * 新增案卷表
     * 
     * @param moduleVolumeInfo 案卷表
     * @return 结果
     */
    public int insertModuleVolumeInfo(ModuleVolumeInfo moduleVolumeInfo);

    /**
     * 修改案卷表
     * 
     * @param moduleVolumeInfo 案卷表
     * @return 结果
     */
    public int updateModuleVolumeInfo(ModuleVolumeInfo moduleVolumeInfo);

    /**
     * 批量删除案卷表
     * 
     * @param ids 需要删除的案卷表主键集合
     * @return 结果
     */
    public int deleteModuleVolumeInfoByIds(String[] ids);

    /**
     * 删除案卷表信息
     * 
     * @param id 案卷表主键
     * @return 结果
     */
    public int deleteModuleVolumeInfoById(String id);

    /**
     * selectModuleVolumeInfoByClassIds
     *
     * @param classId 分类Id
     * @return 结果
     */
    public  List<ModuleVolumeInfo> selectModuleVolumeInfoByClassIds(@Param("classIds") Long[] classIds, @Param("vname") String vname);

//    public List<ModuleVolumeInfo> selectModuleVolumeInfoByTopNodes(String[] topnodes);

    public List<ModuleVolumeInfo> selectModuleVolumeInfoByTopNodes(@Param("topnodes") String[] topnodes, @Param("vname") String vname );

    public int findMaxRowInClass(String topnode);
}
